Skip to content

chore: plans 12, 13, 14#31

Merged
deviantintegral merged 14 commits into
mainfrom
chore/plans-12-13-14
Feb 26, 2026
Merged

chore: plans 12, 13, 14#31
deviantintegral merged 14 commits into
mainfrom
chore/plans-12-13-14

Conversation

@deviantintegral
Copy link
Copy Markdown
Owner

No description provided.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands test coverage with targeted mutation-killing tests (mutmut survivors), adds a missing heat-status CLI parameter for parity with the TUI, and aligns public-facing docs/exports/metadata (including CI mutmut parallelism to avoid OOM).

Changes:

  • Add targeted tests in protocol/client/B2C login suites to kill surviving mutmut mutants (and document equivalent mutants).
  • Add CLI support and tests for flameconnect set <fire_id> heat-status on|off, and update CLI/README parameter documentation.
  • Export additional model symbols from the package top-level and adjust CI to run mutmut with constrained parallelism.

Reviewed changes

Copilot reviewed 25 out of 25 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/test_protocol.py Adds targeted tests for protocol mutmut survivors (temperature encoding, header packing, equivalent mutant doc).
tests/test_client.py Adds targeted tests for client mutmut survivors (exact error/log/warning formatting and turn_on/off behavior).
tests/test_cli_set.py Adds dispatch + direct tests for the new heat-status CLI setter.
tests/test_b2c_login.py Adds extensive targeted tests to raise b2c_login mutmut kill rate; tightens some exception regex matches.
src/flameconnect/cli.py Adds _set_heat_status and wires it into cmd_set; updates parser help/description.
src/flameconnect/init.py Exports Brightness, PulsatingEffect, and NAMED_COLORS via imports + __all__; updates package docstring.
pyproject.toml Updates project description to include “Real Flame”.
README.md Rewrites CLI “set parameters” examples and expands TUI keybindings table for accuracy/completeness.
.github/workflows/ci.yml Limits mutmut parallelism via --max-children 2 to reduce CI memory usage.
.ai/task-manager/... Archives plan 12 content and adds plan/task artifacts for plans 13/14.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tests/test_b2c_login.py Outdated
Comment thread tests/test_protocol.py Outdated
@deviantintegral deviantintegral force-pushed the chore/plans-12-13-14 branch 3 times, most recently from b9ff6c2 to de9c716 Compare February 26, 2026 13:38
deviantintegral and others added 14 commits February 26, 2026 08:57
Rewrote plan 12 with corrected mutation scores from actual meta files,
added --max-children 2 for CI OOM prevention, and narrowed scope to
focus on b2c_login.py (125 survivors) with minor protocol/client cleanup.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Addresses gaps between project philosophy and implementation: missing
public API exports (Brightness, PulsatingEffect, NAMED_COLORS), brand
name inconsistencies, and stale README documentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add --max-children 2 to mutmut run command in CI workflow. The default
(os.cpu_count() = 4) spawns too many concurrent pytest processes,
exceeding the 7GB RAM limit on GitHub Actions ubuntu-24.04 runners.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
b2c_login.py: 90.3% kill rate (up from 73%), 44 survivors from 452 mutants.
Added tests for cookie parsing with multiple cookies, Set-Cookie semicolon
parsing, relative URL resolution, error message anchoring, and log None
detection.

protocol.py: killed 2 of 3 survivors (encode_temperature multiplier,
_make_header signed/unsigned format). 1 documented as equivalent (ascii
codec casing).

client.py: killed 5 of 7 survivors (_request error message, debug log,
overview decode warning format). 2 documented as equivalent (turn_on/off
init None vs empty string).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Export Brightness, PulsatingEffect, and NAMED_COLORS from the top-level
package. Fix brand name references to "Dimplex, Faber, and Real Flame"
across __init__.py, pyproject.toml, and cli.py. Remove stale fan-only
heat-mode from README, fix brightness docs (low/high not 0-255), and
remove light-status from argparse help text.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add _set_heat_status() to cli.py following the existing _set_* pattern,
dispatching from cmd_set() for "heat-status" on/off. Update
_SET_PARAM_NAMES and argparse help text to include heat-status. Add
tests for on, off, invalid values, and dispatch integration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Expand the CLI "Set parameters" section from 6 to all 17 parameters
grouped by category (fire control, flame, media lighting, overhead
lighting, ambient, heat, timer/units). Expand the TUI keybindings table
from 3 to all 21 user-facing keys.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…n summary

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@deviantintegral deviantintegral merged commit 0daf94b into main Feb 26, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants